Image processing apparatus, image processing method, and program

ABSTRACT

An image processing apparatus includes a three-dimensional space information storage unit, a projection unit, an operation acquisition unit, a reference guide rail decision unit, and a motion vector calculation unit. The projection unit projects and draws a cross-sectional plane onto a projection plane on the basis of information on a position of the cross-sectional plane stored by the three-dimensional space information storage unit. The reference guide rail decision unit decides a reference guide rail on the basis of information on a position of a slide operation acquired by the operation acquisition unit. The motion vector calculation unit calculates a two-dimensional motion vector parallel to the reference guide rail on the basis of a direction of the slide operation and an amount of movement, calculates a three-dimensional motion vector corresponding to the two-dimensional motion vector, and changes the position of the cross-sectional plane in accordance with the calculated three-dimensional motion vector.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority fromJapanese Patent Application No. 2016-119301, filed Jun. 15, 2016; theentire contents of which are incorporated herein by reference.

BACKGROUND OF THE INVENTION Technical Field

Embodiments of the present invention generally relate to an imageprocessing apparatus, an image processing method, and a program.

Related Art

A technology to display a three-dimensional space on a display devicesuch as a computer in fields such as a diagnosis by medical images,three-dimensional modeling, and three-dimensional computer graphics(3D-CG) exists as background art. In this technology, thethree-dimensional space is projected onto a predetermined projectionplane in three-dimensional space and an image on this projection planeis displayed on a display device. In addition, a cross-sectional planeexisting in the three-dimensional space is projected onto the projectionplane to be displayed in some cases.

In the related art, there is a function which allows a user to move across-sectional plane in a three-dimensional space. At this time, a usermoves the cross-sectional plane via a user interface using a pointingmeans such as a mouse, a pen tab, and a touch panel. However, sincethere are different viewpoints between an area in which thecross-sectional plane to be moved is displayed and the projection planeof the three-dimensional space, a moving direction intuited by the usermay not match an actual moving direction of the cross-sectional plane.In this case, the user cannot perform an intuitive operation and thismay cause frustration.

In addition, a function which allows a user to move the cross-sectionalplane in the three-dimensional space by changing a displayed parameternumerical value is in the related art. At this time, the parameternumerical value is changed as a result of operating the pointing meansto press an arrow button on a screen. However, a moving direction of thearrow for changing the numerical value may not match the movingdirection of the cross-sectional plane in some cases. In this case,there is a possibility that a smooth operation cannot performed by theuser.

Examples of the above-described related art are disclosed in JapaneseUnexamined Patent Application, First Publication No. 2002-245487,“Documentation/4.5/Announcements-SlicerWiki”, [online], Dec. 15, 2015(2015), The community of Slicer developers, [Search on Apr. 10, 2016],Internet URL:http://wiki.slicer.org/slicerWiki/index.php/Documentation/4.5/Announcements,and “Cross Section Rendering”, [online], Mar. 4, 2012 (2012), CGradProject Blog, [Accessed on Apr. 10, 2016], Internet URL:http://www.cgradproject.com/blog/archives/category/blender/%E6%96%AD%E9%9D%A2%E3%83%AC%E3%83%B3%E3%83%80%E3%83%AA%E3%83%B3%E3%82%B0are another examples of the related art.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram which shows a schematic functionalconfiguration of an image processing apparatus of a first embodiment.

FIG. 2 is a schematic diagram which shows an example of athree-dimensional space projected by the image processing apparatus ofthe first embodiment.

FIG. 3 is a schematic diagram which shows an example of thethree-dimensional space projected by the image processing apparatus ofthe first embodiment.

FIG. 4 is a schematic diagram which shows a configuration example ofdata stored by a three-dimensional space information storage unit of thefirst embodiment.

FIG. 5 is a schematic diagram which shows a configuration example ofdata stored by a two-dimensional area information storage unit of thefirst embodiment.

FIG. 6 is a flowchart which shows a process procedure for moving across-sectional plane using the image processing apparatus of the firstembodiment.

FIG. 7 is a schematic diagram (a plan view of a two-dimensional area)for describing a process in which a reference guide rail decision unitof the first embodiment decides a reference guide rail.

FIG. 8 is a schematic diagram which describes a process in which amoving direction determination unit of the first embodiment determines amoving direction of a cross-sectional plane.

FIG. 9 is a schematic diagram which describes a process in which themoving direction determination unit of the first embodiment obtains aguide vector for moving a cross-sectional plane.

DETAILED DESCRIPTION

Hereinafter, embodiments of an image processing apparatus, an imageprocessing method, and a program will be described with reference todrawings.

First Embodiment

FIG. 1 is a block diagram which shows a schematic functionalconfiguration of an image processing apparatus of a first embodiment. Asillustrated, an image processing apparatus 1 is configured to include atwo-dimensional area information storage unit 12, a three-dimensionalspace information storage unit 13, an operation acquisition unit 21, areference guide rail decision unit 22, a moving direction determinationunit 23, a motion vector calculation unit 24, a guide rail informationgeneration unit 31, and a projection unit 41.

The image processing apparatus 1 models various objects and the like ina virtual three-dimensional space, and displays an image obtained as aresult of projecting these objects onto a projection plane on a screenand the like. The image processing apparatus 1 is realized as aninformation processing apparatus using an electronic circuit. Thetwo-dimensional area information storage unit 12 and thethree-dimensional space information storage unit 13 are realized byusing an information storage medium such as a semiconductor memory or amagnetic hard disk. The image processing apparatus 1 may be realized bya computer and a program. More specifically, the image processingapparatus 1 can also be realized by devices, such as a personalcomputer, a tablet terminal device, and a smart phone (a smart phone),and an application program (application) running on a central processingunit (CPU) of these devices. A user of the image processing apparatus 1views images displayed on a display device such as a liquid crystaldisplay device. In addition, a user can perform an operation related tothe displayed images using a pointing device such as a mouse, a touchpanel, or a pen tab. In the following, a space handled as a processingtarget by the image processing apparatus 1 is called a“three-dimensional space,” and a screen of the projection plane or thedisplay device described above is called a “two-dimensional space.” Aprocess itself in which the image processing apparatus 1 storesinformation of objects in the three-dimensional space or renders theseobjects can be performed using an existing technology.

In addition, the image processing apparatus 1 displays a cross-sectionalplane in the three-dimensional space on the display device in a state inwhich the cross-sectional plane projected onto the projection plane.Then, the image processing apparatus 1 performs a process of moving thiscross-sectional plane in the three-dimensional space based on anoperation of a user.

Here, the cross-sectional plane is a cross-sectional plane obtained bycutting the three-dimensional space. The image processing apparatus 1displays images in this cross-sectional plane to present a state of thethree-dimensional space to the user. The cross-sectional plane is aplane. When a point in the three-dimensional space is represented bycoordinates (X,Y,Z), a state of the point in the three-dimensional spacecan be represented by a value V(X,Y,Z). A plane in the three-dimensionalspace is set as P, an image of the cross-sectional plane can berepresented by a set of the value V(X,Y,Z) at the point (X,Y,Z) whichsatisfies (X,Y,Z)εP. The image processing apparatus 1 provides a userinterface for moving such a cross-sectional plane.

When the cross-sectional plane is moved on the basis of an operation ofa user, the image processing apparatus 1 moves the cross-sectional planealong a predetermined guide rail. A position of the guide rail and thelike are preset as setting information. In the present embodiment, theguide rail is perpendicular to the cross-sectional plane. However, theguide rail and the cross-sectional plane may not be perpendicular toeach other. Even when the guide rail and the cross-sectional planeintersect each other to form a predetermined angle other than 90degrees, it is possible to move the cross-sectional plane along theguide rail. The guide rail may also be called a “guide line.”

In a following, functions of each unit configuring the image processingapparatus 1 will be described.

The two-dimensional area information storage unit 12 stores informationon a two-dimensional area. Details of the data stored by thetwo-dimensional area information storage unit 12 will be described belowwith reference to other drawings.

The three-dimensional space information storage unit 13 storesinformation on the three-dimensional space. The three-dimensional spaceinformation storage unit 13 stores at least information representing aposition of a cross-sectional plane in the three-dimensional space.

Details of the data stored by the three-dimensional space informationstorage unit 13 will be described below with reference to otherdrawings.

The operation acquisition unit 21, the reference guide rail decisionunit 22, the moving direction determination unit 23, and the motionvector calculation unit 24 perform a process such as calculation formoving a cross-sectional plane on the basis of an operation of a user.

The operation acquisition unit 21 acquires content of an operation of auser and parameters of the operation. In particular, the operationacquisition unit 21 acquires a type of operation on a screen by the userand information on a position at which the operation is performed. Withrespect to a slide operation which is a type of operation, the operationacquisition unit 21 detects a slide operation which slides a pointinstructed by an instruction means such as a finger or a pointing stickdrawn by a projection plane on the screen. Then, the operationacquisition unit 21 acquires information on a position on the screen atwhich the slide operation is performed. The information on the positionof the slide operation is information on coordinates of a start point(s)and coordinates of an end point of the slide operation on the screen.

The reference guide rail decision unit 22 performs the following processon the basis of the information on the position of the slide operation,that is, the coordinates of the start point and the coordinates of theend point, acquired by the operation acquisition unit 21. In otherwords, the reference guide rail decision unit 22 decides a guide railwhich is orthogonal to the cross-sectional plane in thethree-dimensional space and projected onto a projection plane near theposition of the slide operation when the slide operation is detected asa reference guide rail. The reference guide rail decision unit 22 of thepresent embodiment refers to the three-dimensional space informationstorage unit 13 and selects and decides the reference guide rail amongguide rails generated by the guide rail information generation unit 31on the basis of a direction of the slide operation.

The moving direction determination unit 23 determines in which sidedirection of extending directions of the reference guide rail thecross-sectional plane is moved.

The motion vector calculation unit 24 calculates a two-dimensionalmotion vector which represents movement on the screen and is parallel tothe reference guide rail on the basis of a direction of the slideoperation and an amount of movement when the slide operation isperformed. Then, the motion vector calculation unit 24 calculates athree-dimensional motion vector representing a direction of movement andan amount of movement in the three-dimensional space corresponding tothe two-dimensional motion vector existing on the projection plane.Then, the motion vector calculation unit 24 changes a position of thecross-sectional plane in the three-dimensional space stored by thethree-dimensional space information storage unit 13 according to thecalculated three-dimensional motion vector.

The position of the cross-sectional plane is rewritten on thethree-dimensional space information storage unit 13 so that thecross-sectional plane is re-drawn. Specifically, the motion vectorcalculation unit 24 passes information on a position of thecross-sectional plane after movement to the projection unit 41. If theinformation on the position of the cross-sectional plane after movementis received from the motion vector calculation unit 24, the projectionunit 41 projects the cross-sectional plane after a movement onto theprojection plane. After the movement of the cross-sectional plane, atleast a portion corresponding to a position at which the cross-sectionalplane existed before the movement and a portion corresponding to aposition at which the cross-sectional plane exists after the movementare re-drawn on the projection plane.

The guide rail information generation unit 31 generates information on aguide rail orthogonal to a given cross-sectional plane on the basis ofguide rail setting information and writes the guide rail information inthe three-dimensional space information storage unit 13. The guide railsetting information will be described below.

In other words, the guide rail information generation unit 31 generatesguide rail information, which is information on one or more guide rails,on the basis of the guide rail setting information preset and theinformation on the position of the cross-sectional plane, and writes theguide rail information in the three-dimensional space informationstorage unit 13. The guide rail information generated by the guide railinformation generation unit 31 is information on a position of eachguide rail (coordinates of a start point and an end point). In addition,the guide rail information generation unit 31 causes the projection unit41 to project a guide rail onto the projection plane by passing thegenerated guide rail information to the projection unit 41.

The projection unit 41 projects these objects onto the projection planebased on information on objects in the three-dimensional space. An imageprojected onto the projection plane is displayed on a display device ofthe image processing apparatus 1 as it is. The objects projected ontothe projection plane by the projection unit 41 include thecross-sectional plane of the three-dimensional space and the guide rail.That is, the projection unit 41 projects and draws the cross-sectionalplane of the three-dimensional space onto the projection plane based onthe information on the position of the cross-sectional plane stored bythe three-dimensional space information storage unit 13. The projectionunit 41 may perform a perspective projection or a parallel projection.In the case of performing the perspective projection, the projectionunit 41 references information on viewpoint coordinates held by thethree-dimensional space information storage unit 13.

FIGS. 2 and 3 are schematic diagrams which show a display example of aprojected three-dimensional space displayed by the image processingapparatus 1. Images displayed in FIGS. 2 and 3 are images obtained byprojecting a three-dimensional space onto a projection plane. In thedrawings, a black quadrangular frame is an outer frame of thecross-sectional plane in the three-dimensional space. In addition, eachof black portions marked with signs G1 and G2 is a guide rail. Moreover,a terrain in the three-dimensional space is projected onto theprojection plane in FIGS. 2 and 3. Gray scale images are drawn on thecross-sectional plane in the three-dimensional space in FIGS. 2 and 3.That is, the image processing apparatus 1 displays an outer frame of thecross-sectional plane which is projected onto the projection plane, theguide rails G1 and G2, the terrain, and the images in thecross-sectional plane. After a reference guide rail is decided by aprocedure to be described below, the image processing apparatus 1 maydisplay only the reference guide rail. FIGS. 2 and 3 are examples inwhich weather data (for example, an amount of moisture in thethree-dimensional space and the like) are displayed.

In the weather data which is a basis of FIGS. 2 and 3, numerical datacorresponding to coordinates of portions above the ground in thethree-dimensional space are included. The numerical data can beconverted into a pixel value. The pixel value corresponds to a grayscale gradation in a case of a white black image, and corresponds to acolor in a case of a color image.

The image processing apparatus 1 projects and displays a cross-sectionaldiagram in a cross-sectional plane which has a numerical valuecorresponding to coordinates of the three-dimensional space onto theprojection plane.

The illustrated examples are examples of weather data, but embodimentsare not limited to the weather data. It is possible to use this imageprocessing apparatus 1 for graphically displaying numerical datadistributed in a three-dimensional space.

For example, it is possible to use this image processing apparatus 1 forshape modeling (automobiles, buildings, precision equipment parts, andthe like), medical data display (three-dimensional display of organs andthe like by computer tomography (CT) or nuclear magnetic resonanceimaging (MRI)), or other uses.

In the illustrated example, the number of guide rails is two, but thenumber of guide rails is arbitrary depending on settings. Using one ormore guide rails is preset. In addition, in the illustrated example, thecross-sectional plane has a quadrangular shape and is represented as across-sectional plane using lines of four black frames, but the shape ofthe cross-sectional plane and the number and the shape of frame linesare arbitrary. In addition, since perspective projection is used in theillustrated example, a plurality of guide rails parallel in thethree-dimensional space are not drawn in parallel but intersect at avanishing point in an image projected onto the projection plane. Thevanishing point exists at infinity. Parallel projection is used insteadof perspective projection to perform projection onto the projectionplane.

Next, a configuration of data used by the image processing apparatus 1will be described.

FIG. 4 is a schematic diagram which shows a configuration example ofdata stored by the three-dimensional space information storage unit 13of the first embodiment. As shown in FIG. 4, the three-dimensional spaceinformation storage unit 13 stores guide rail setting information,cross-sectional plane information, guide rail information, viewpointinformation, and projection plane information.

The guide rail setting information is preset information for generatinga guide rail. The guide rail setting information includes numericalinformation indicating the number of guide rails, information on aposition of a guide rail with respect to a cross-sectional plane(information on a position of each individual guide rail), andinformation on a length of the guide rail (information on a length ofeach individual guide rail). A position or an orientation of thecross-sectional plane can be changed, but the information on theposition of the guide rail with respect to the position of thecross-sectional plane can be represented as information on a relativerelationship with respect to the cross-sectional plane such as a lowerleft end of the cross-sectional plane (a left side viewed in apredetermined direction) or a lower right end of the cross-sectionalplane, for example. The information on the length of the guide rail isrepresented as numerical information of a length in a coordinate systemof the three-dimensional space.

The guide rail setting information is referenced to when the guide railinformation generation unit 31 generates the guide rail information.

The cross-sectional plane information includes inclination informationof the cross-sectional plane and information on a range of thecross-sectional plane. The inclination information of thecross-sectional plane is represented as information of a plane equationin a three-dimensional space coordinate system (for example, xyzorthogonal coordinates). Alternatively, the inclination information ofthe cross-sectional plane is represented as information on a componentof a normal vector of the cross-sectional plane. When thecross-sectional plane has a range (for example, the cross-sectionalplane is a view of an inside range of a quadrangle surrounded by foursides), the information on the range of the cross-sectional planerepresents the range. For example, the information on the range of thecross-sectional plane is represented as information on an equation of aboundary line which separates the inside of the cross-sectional planefrom the outside.

The guide rail information is information generated by the guide railinformation generation unit 31. The guide rail information isinformation on coordinates of a start point and an end point of each ofthe generated guide rails in the three-dimensional space. In addition,each of the guide rails is identified by information on a guide rail ID.

The viewpoint information is information representing a position of aviewpoint when the three-dimensional space is projected onto theprojection plane. The viewpoint information is a coordinate value of theviewpoint in the three-dimensional image.

The projection plane information includes inclination information of theprojection plane and information on a range of the projection plane. Theinclination information of the projection plane is represented asinformation of an equation representing a plane of the projection planeas coordinates of the three-dimensional space. Alternatively, theinclination information of the projection plane is represented asinformation on a component of a normal vector of the projection plane.The information on the range of the projection plane is informationrepresenting the range of the projection plane (a range displayed on adisplay device and the like) using coordinates of the three-dimensionalspace. As an example, the information on the range of the projectionplane is represented as information on an equation of a boundary linewhich separates the inside of the projection plane from the outside.

FIG. 5 is a schematic diagram which shows a configuration example ofdata stored by the two-dimensional area information storage unit 12. Asshown in FIG. 5, the two-dimensional area information storage unit 12stores reference guide rail information, a reference distance, and areference angle.

The reference guide rail information is information on an ID of areference guide rail among a plurality of guide rail IDs. The referenceguide rail is decided by the reference guide rail decision unit 22.

The reference guide rail decision unit 22 writes an ID of a selectedreference guide rail as the reference guide rail information.

The reference distance is numerical information representing a distanced used when the reference guide rail is decided. The distance d is adistance in a coordinate system of a two-dimensional area. The referencedistance d is an upper limit of a distance between a touch position whena slide operation is performed and a guide rail which can be selected asthe reference guide rail. A specific value of d may be appropriatelydecided for each application. Information on this reference distance dis referenced by the reference guide rail decision unit 22.

The reference angle is numerical information representing an angle θwhich is used when a moving direction is decided. The angle θ is anangle in a plane of the two-dimensional area. The angle θ is an upperlimit value of an angle formed by a direction of a slide trajectory whenthe slide operation is performed and the reference guide rail.Information on this reference angle θ is referenced by the movingdirection determination unit 23.

FIG. 6 is a flowchart which shows a process procedure in which the imageprocessing apparatus 1 moves and re-draws a cross-sectional plane in athree-dimensional space in accordance with a slide operation of a user.Hereinafter, an outline of the process of moving the cross-sectionalplane will be described along this flowchart. First, in step S1, theoperation acquisition unit 21 detects a slide operation. At this time,the operation acquisition unit 21 also acquires information on aposition of a trajectory of the slide operation. Specifically, theoperation acquisition unit 21 acquires coordinates (an x coordinatevalue and a y coordinate value) of a start point and an end point of theslide operation on a two-dimensional display screen (a two-dimensionalarea).

In the following step S2, the reference guide rail decision unit 22decides a reference guide rail. Specifically, the reference guide raildecision unit 22 decides which one of one or more guide rails is set asa reference on the basis of the trajectory of the slide operationacquired by the operation acquisition unit 21. The reference guide railmay not be selected depending on the position of the trajectory of theslide operation. When the reference guide rail is not decided, amovement of the cross-sectional plane is not performed and the processin the present flowchart is canceled.

In the following step S3, the moving direction determination unit 23determines a moving direction of the cross-sectional plane.

Specifically, the moving direction determination unit 23 obtains a guidevector which represents a moving direction of the cross-sectional planeon the basis of a direction of the trajectory of the slide operationacquired by the operation acquisition unit 21. The guide vector is avector parallel to a direction of the reference guide rail decidedabove, and is a vector pointing in either a positive or negativedirection. In the present embodiment, the reference guide rail is a lineperpendicular to a cross-sectional plane set to be moved. That is, theguide vector is a vector representing any one of two directionsperpendicular to a plane of the cross-sectional plane.

In the following step S4, the motion vector calculation unit 24calculates a motion vector representing a movement of thecross-sectional plane. Specifically, the motion vector calculation unit24 calculates the motion vector on the basis of the guide vectorcalculated as a vector representing movement in a two-dimensional area.The motion vector is a vector representing a moving direction of amoving plane and a magnitude of the movement in a three-dimensionalsection.

Details of a process performed by the motion vector calculation unit 24will be described below.

Then, the motion vector calculation unit 24 moves the cross-sectionalplane in the three-dimensional space using the calculated motion vector.Then, the motion vector calculation unit 24 passes information on aposition and the like of the cross-sectional plane after the movement tothe projection unit 41 so that the cross-sectional plane after themovement is projected onto the projection plane.

In the following step S5, the projection unit 41 displays thecross-sectional plane after the movement. Specifically, the projectionunit 41 re-draws the projection plane with respect to at least theposition of the cross-sectional plane before the movement and theposition of the cross-sectional plane after the movement. Then, theprojection unit 41 displays an image of the updated projection plane ona display device and the like.

If a process of the present step ends, the image processing apparatus 1ends the entire process of this flowchart. Thereafter, if the operationacquisition unit 21 detects a slide operation of a user, the process isrestarted from the step S1.

Next, further details of steps S1 to S5 described above will bedescribed.

The operation acquisition unit 21 acquires information on an operationof a user. The operation acquired by the operation acquisition unit 21in the present embodiment includes a touch operation and a slideoperation. The touch operation is an operation of touching a certainposition on a screen. The slide operation is an operation of slidingfrom a certain position on a screen to another position while touchingthe screen.

The operation acquisition unit 21 acquires coordinates (two-dimensionalcoordinates of x,y on the screen) of a touched point (a position) whenthe touch operation is performed. In addition, the operation acquisitionunit 21 acquires coordinates of each of a start point and an end pointof the slide operation when the slide operation is performed. Forexample, when the slide operation is continuously performed on an n^(th)point, a (n+1)^(th) point, and a (n+2)^(th) point, the operationacquisition unit 21 acquires coordinates of each of these points. Inaddition, when neither the touch operation nor the slide operation isperformed, the operation acquisition unit 21 acquires a staterepresenting that there are none of these operations as information.Here, a “touching” operation in a case of using a touch panel is anoperation of causing a finger, a pointing stick, or the like to touch apanel. In addition, the “touching” operation in a case of using a pentab is an operation of causing a pen, a pointing stick, or the like totouch a pad. Moreover, the “touching” operation in a case of using amouse is an operation of pressing a mouse button while a mouse cursorexists at a point. Moreover, the slide operation in a case of using amouse is an operation of moving a mouse cursor while a mouse button ispressed.

The reference guide rail decision unit 22 decides which one of aplurality of guide rails to use as a movement reference when movement ofa cross-sectional plane is started on the basis of the slide operation.The reference guide rail decision unit 22 acquires coordinates of astart point and an end point of the slide operation from the operationacquisition unit 21.

Specifically, the reference guide rail decision unit 22 performs thefollowing process.

First, the reference guide rail decision unit 22 reads information onguide rails from the three-dimensional space information storage unit 13and calculates a position at which these guide rails exist in atwo-dimensional area.

At this time, the number of guide rails is one or more.

Next, the reference guide rail decision unit 22 calculates a distancebetween the start point of the slide operation (coordinates in thetwo-dimensional area given from the operation acquisition unit 21) andeach of the guide rails in the two-dimensional area.

Next, the reference guide rail decision unit 22 selects a guide railwhich has a distance from the start point less than or equal to a presetreference distance d and which is closest to the start point. That is,the reference guide rail decision unit 22 decides the selected guiderail as a reference guide rail. A distance from the start point of theslide operation to the guide rail will be described below with referenceto FIG. 7.

Next, the reference guide rail decision unit 22 writes information (aguide rail ID) for identifying the decided reference guide rail in thetwo-dimensional area information storage unit 12. In addition, thereference guide rail decision unit 22 writes coordinates of a startpoint and an end point of the reference guide rail in thethree-dimensional space in the three-dimensional space informationstorage unit 13.

When there is no reference guide rail in light of the above condition,the reference guide rail decision unit 22 does not write information ona reference guide rail. In addition, in this case, the image processingapparatus does not perform a subsequent process for moving thecross-sectional plane.

When the cross-sectional plane is moved on the basis of the slideoperation, the moving direction determination unit 23 determines inwhich direction the movement is performed when the reference guide railis set as a reference. The reference guide rail is handled as aone-dimensional line. Accordingly, the moving direction determinationunit 23 determines whether a moving direction is positive or negativewhen a direction along the line is represented as a positive or negativevalue. The moving direction determination unit 23 acquires thecoordinates of the start point and the end point of the slide operationfrom the reference guide rail decision unit 22.

Specifically, the moving direction determination unit 23 performs thefollowing process.

First, the moving direction determination unit 23 calculates an angleformed by the reference guide rail (a straight line) and the trajectoryof the slide operation on the displayed two-dimensional area. Thetrajectory of the slide operation may be regarded as a straight line.

Next, the moving direction determination unit 23 determines whether theangle calculated above (the angle formed by the reference guide rail andthe trajectory of the slide operation) is less than or equal to apredetermined reference angle θ. If this angle is equal to or less than0, the following process of moving the cross-sectional plane iscontinued. If this angle is larger than 0, the process of moving thecross-sectional plane is not performed.

Next, the moving direction determination unit 23 calculates a guidevector based on positional information on a point during the slideoperation and information on the reference guide rail (the coordinatesof the start point and the end point thereof). The guide vectorrepresents a direction in which the cross-sectional plane is moved.Here, the guide vector is one of a positive direction and a negativedirection of the reference guide rail. In addition, the guide vector isa vector having a direction of one of the positive and negativedirections closer to a direction (a direction from the start point tothe end point) of the trajectory of the slide operation.

A determination process of a moving direction by the moving directiondetermination unit 23 will be described below with reference to FIG. 8.

In addition, a process in which the moving direction determination unit23 obtains a guide vector will be described below with reference to FIG.9.

The motion vector calculation unit 24 obtains a motion vector for movingthe cross-sectional plane on the basis of the trajectory of the slideoperation. This motion vector is a vector representing movement in thethree-dimensional space. The motion vector calculation unit 24 acquiresthe coordinates of the start point and the end point of the slideoperation from the moving direction determination unit 23.

Specifically, the motion vector calculation unit 24 performs thefollowing process.

First, the motion vector calculation unit 24 calculates an angle α onthe basis of the information on the position of the projection plane inthe three-dimensional space and the information on the reference guiderail (the coordinates of the start point and the end point). The angle αis an angle at which the projection plane and the reference guide railintersect.

Next, the motion vector calculation unit 24 calculates a guide railslope coefficient β based on a guide rail slope coefficient calculationfunction f( ) and the angle α calculated above. That is, the guide railslope coefficient β is calculated by the following equation.

B=f(α)

The guide rail slope coefficient calculation function f( ) is set to beappropriately determined according to an application. The function f( )is a function having the following characteristics. That is, a domain ofthe function f(α) is 0 degrees≦α≦90 degrees. In addition, a value rangeof the function f(α) is 0<f(α)≦1. Moreover, the function f(α) is afunction monotonically decreasing with respect to the variable α.

An example of a function f having these characteristics is the functionshown below.

f(α)=0.9 cos²(α)+0.1

However, the function f is not limited to the function exemplifiedherein.

Information on a calculation equation for calculating the function f orinformation on a lookup table representing a relationship between inputand output values of the function f may be stored in thethree-dimensional space information storage unit 13 in advance.

In other words, the motion vector calculation unit 24 calculates atwo-dimensional motion vector so that a ratio of an absolute value ofthe two-dimensional motion vector to an amount of movement of the slideoperation monotonically decreases with respect to α based on α (0degrees≦α≦90 degrees), which is a minimum angle at which the projectionplane in the three-dimensional space and the reference guide railintersect.

Next, the motion vector calculation unit 24 calculates the motion vectorin the two-dimensional area using a guide vector GV_(n) calculated bythe moving direction determination unit 23 and the guide rail slopecoefficient β calculated above. The motion vector in the two-dimensionalarea is referred to as a two-dimensional motion vector MV_(n) for thesake of convenience. That is, the motion vector calculation unit 24obtains the guide vector GV_(n) according to the following equation.

MV_(n)=β·GV_(n)

The amount of movement on the two-dimensional area can be corrected bymultiplying the guide rail slope coefficient β. Advantages obtained bycorrecting the amount of movement on the two-dimensional area (thetwo-dimensional plane displayed on a display device and the like) are asfollows. That is, if the cross-sectional plane moves a lot with a slightslide amount on the two-dimensional area when the angle α at which theprojection plane and the reference guide rail intersect in thethree-dimensional space is large (close to a right angle), a user has aproblem in that it is difficult to move the cross-sectional plane asintended. By correcting the amount of movement to reduce such a problem,an advantage of facilitating control of the amount of movement of thecross-sectional plane can be obtained.

Next, the motion vector calculation unit 24 performs a process ofconverting the two-dimensional motion vector obtained above into athree-dimensional motion vector, which is a motion vector in thethree-dimensional space. The motion vector calculation unit 24 refers toinformation on a position in the three-dimensional space of thereference guide rail to convert the two-dimensional motion vector intothe three-dimensional motion vector.

Then, the motion vector calculation unit 24 performs back projection ona start point and an end point of the two-dimensional motion vectorMV_(n) on the reference guide rail on the projection plane from theposition of a viewpoint (the xyz coordinates in the three-dimensionalsection). That is, the motion vector calculation unit 24 sets anintersection point between the reference guide rail and a straight lineconnecting the viewpoint and the start point of the two-dimensionalmotion vector MV_(n) in the three-dimensional space as a start point ofthe three-dimensional motion vector. In addition, the motion vectorcalculation unit 24 sets an intersection point between the referenceguide rail and a straight line connecting the viewpoint and the endpoint of the two-dimensional motion vector MV_(n) in thethree-dimensional space as an end point of the three-dimensional motionvector. As described above, the motion vector calculation unit 24obtains the start point and the end point of the three-dimensionalmotion vector. That is, a process of converting (reversely projecting)from the two-dimensional motion vector into the three-dimensional motionvector is performed.

A procedure for acquiring positional information in a three-dimensionalspace of a reference guide rail herein is as follows. That is, themotion vector calculation unit 24 can acquire a guide rail ID of thereference guide rail by referring to the two-dimensional areainformation storage unit 12. Then, the motion vector calculation unit 24refers to the three-dimensional space information storage unit 13 usingthe acquired guide rail ID. The motion vector calculation unit 24 readspositional information (coordinates of a start point and an end point)of a guide rail having this ID in the three-dimensional space from thethree-dimensional space information storage unit 13.

The motion vector calculation unit 24 can convert a two-dimensionalmotion vector in a two-dimensional area into a three-dimensional motionvector in a three-dimensional space not only according to the procedureexemplified above.

Even without actually obtaining a start point and an end point of thethree-dimensional motion vector, an amount of movement of thecross-sectional plane in the three-dimensional space is sufficientlycalculated. As a premise, a moving direction of a cross-sectional planeis restricted to a direction of a guide rail (a direction perpendicularto the cross-sectional plane).

Then, the motion vector calculation unit 24 actually moves thecross-sectional plane on the basis of the amount of movement obtained asa result of the calculation.

FIG. 7 is a schematic diagram which shows a distance between a startpoint of a slide operation and a guide rail when the reference guiderail decision unit 22 performs a process of deciding a reference guiderail. In FIG. 7, the image processing apparatus 1 indicates a displayplane displayed on a display device and the like. In FIG. 7, a point pis a start point of a slide operation of a user. In addition, a point ais a start point of a certain guide rail. Moreover, a point b is an endpoint of the guide rail. The reference guide rail decision unit 22calculates a distance from the start point of the slide operation toeach guide rail to decide a reference guide rail. The reference guiderail decision unit 22 calculates a distance H from the start point p ofthe slide operation to a guide rail using the following equation.

H=sin(γ)·|V _(ap)|

Here, V_(ap) is a vector from the point a to the point p. In addition, γis an angle formed by a straight line ap and a straight line ab. Inaddition, sin is a sine function. γ is obtained by the followingequation.

γ=a cos {(V _(ab) ·V _(ap))/(|V _(ab) |−|V _(ap)|)

Here, V_(ap) is a vector from the point a to the point b. In addition,V_(ab)·V_(ap) represents an inner product of a vector V_(ab) and avector V_(ap). Moreover, a cos is an arc cosine function.

A procedure other than calculation by the above equations may also beused as a procedure for calculating the distance H.

FIG. 8 is a schematic diagram which shows an angle formed by a directionrepresented by a slide trajectory and a guide rail when a process ofdeciding a moving direction of a cross-sectional plane is performed bythe moving direction determination unit 23. In FIG. 8, each of G1 and G2is a guide rail. Then, in a situation shown in FIG. 8, the guide rail G1has already been decided to be a reference guide rail. FIG. 8 shows anexample of two types of slide operation. Here, the moving directiondetermination unit 23 calculates an angle formed by a trajectory of aslide operation and the reference guide rail.

Here, a method of calculating the angle is as follows. Two-dimensionalcoordinates (xy coordinates) of a straight line of the trajectory of theslide operation and a straight line of the reference guide rail in thetwo-dimensional area are represented by the following equations,respectively.

y=mx+n . . . the straight line of the trajectory of the slide operation

y=sx+t . . . the straight line of the reference guide rail

At this time, both of the straight lines are orthogonal to each otherwhen ms=−1. In addition, both of the straight lines are also orthogonalto each other when the reference guide rail is parallel to a y axis withm=0. Moreover, both of the straight lines are also orthogonal to eachother when the straight line of the trajectory of the slide operation isparallel to the y axis with s=0. Except the cases in which both of thesestraight lines are orthogonal to each other, the angle α on an acuteangle side formed by both of the straight lines is represented by thefollowing equation.

A=a tan|(m−s)/(1+ms)|

Here, a tan represents an arctangent function.

In a slide operation of Example 1 in FIG. 8, an angle formed by atrajectory of the slide operation (indicated by an arrow line) and theguide rail G1, which is the reference guide rail, is 15 degrees. Inaddition, in a slide operation of Example 2, an angle formed by atrajectory of the slide operation and the guide rail G1, which is thereference guide rail, is 30 degrees. Here, on the assumption that thereference angle θ is 20 degrees, the angle (15 degrees) formed by thetrajectory of the slide operation and the reference guide rail inExample 1 is less than or equal to the reference angle.

However, in the case of Example 2, the angle (30 degrees) formed by thetrajectory of the slide operation and the reference guide rail exceedsthe reference angle. Therefore, when the slide operation of Example 1 isperformed, the moving direction determination unit 23 determines a guidevector and the process of moving the cross-sectional plane is continued.On the other hand, when the slide operation of Example 2 is performed, adirection of the slide operation is larger than the reference angle, andthe moving direction determination unit 23 does not determine a guidevector. In this case, the process of moving the cross-sectional plane isdiscontinued.

In other words, when the angle formed by the direction of the slideoperation and the reference guide rail is larger than a preset thresholdvalue, the motion vector calculation unit 24 does not perform theprocess of moving the cross-sectional plane.

FIG. 9 is a schematic diagram which describes a process in which themoving direction determination unit 23 obtains a guide vector for movinga cross-sectional plane. In FIG. 9, G1 is a reference guide rail. Inaddition, a vector V_(p) is a vector from a start point P_(n) to an endpoint P_(n+1) of a slide operation. Moreover, a point c is an arbitrarypoint on the reference guide rail and is an intersection point betweenthe reference guide rail and the cross-sectional plane before movement.Then, a vector GV_(n) is the obtained guide vector. The moving directiondetermination unit 23 obtains the guide vector GV_(n) with a start pointof the point c. At this time, the moving direction determination unit 23obtains the guide vector GV_(n) so that a length (an absolute value) ofthe vector V_(p) is equal to a length (an absolute value) of the guidevector GV_(n). That is, the following equation is satisfied.

|V _(p)|=|GV_(n)|

In other words, the guide vector GV_(n) is a vector obtained by rotating(the amount of rotation is the angle α) the vector V_(p) so that thevector V_(p) is equal to the direction of the reference guide rail.

As mentioned above, the number of guide rails in the present embodimentis an arbitrary number of one or more. In each of FIGS. 2 and 3, a casein which the number of guide rails is two is exemplified, but the numberof guide rails is not limited to two.

In addition, a frame line of the quadrangular cross-sectional plane isdisplayed in each of FIGS. 2 and 3. However, as a modified example ofthe present embodiment, the frame line of the cross-sectional plane maynot be displayed.

In addition, in the present embodiment, a guide rail is orthogonal to across-sectional plane to be moved in a three-dimensional space. However,the guide rail and the cross-sectional plane are not necessarilyorthogonal to each other, and the guide rail and the cross-sectionalplane may intersect at a preset predetermined angle. Even when the guiderail and the cross-sectional plane are not orthogonal to each other, amoving direction of the cross-sectional plane is restricted to one of apositive direction and a negative direction of the guide rail. Moreover,when the guide rail and the cross-sectional plane intersect at thepreset predetermined angle, it is possible to move the cross-sectionalplane in a process procedure described in the present embodiment. In adisplay of a three-dimensional space in many applications, there aremany cases in which a guide rail and a cross-sectional plane areorthogonal to each other, but it is possible to apply the presentembodiment even in a special situation in which the guide rail and thecross-sectional plane are not orthogonal to each other.

According to the present embodiment, since a direction of movement of across-sectional plane in a three-dimensional space is decided on thebasis of a slide operation on a user's screen to correspond to a movingdirection of the slide operation on the screen, it is possible toprovide an interface through which the user can directly operate adisplay area of a projection plane and move the cross-sectional plane.

In addition, in this user interface, the user can move thecross-sectional plane in a direction in accord with the direction of theslide operation on the screen. That is, the image processing apparatus 1can provide a user interface which facilitates intuitive understanding.

Moreover, according to the present embodiment, particularly in the caseof perspective projection, it is possible to present the movingdirection of the cross-sectional plane or a positional relationshipbefore and after movement to a user in an easy-to-understand mannersince the guide rail is displayed.

In addition, according to the present embodiment, a user does not needto point at a specific point since a guide rail in the vicinity of aslide operation of the user is obtained and a movement of thecross-sectional plane is performed.

Moreover, according to the present embodiment, a user can control themoving direction and the amount of movement of the cross-sectional planeon the basis of the amount of the slide operation (a length of thetrajectory of the slide operation) and the like since the amount ofmovement of the cross-sectional plane is decided on the basis of theamount of the slide operation.

Second Embodiment

Next, a second embodiment will be described. A description for the itemsdescribed in the previous embodiment may be omitted herein. Here,specific items of the present embodiment will be described.

A block diagram which shows a functional configuration of the presentembodiment is as shown in FIG. 1.

A characteristic of the present embodiment is that the image processingapparatus 1 does not display a guide rail. In other words, theprojection unit 41 of the present embodiment projects and draws objectsother than a guide rail onto the projection plane, but does not draw theguide rail. Even when the guide rail is not displayed, an operation ofthe image processing apparatus 1 after a slide operation by a user isdetected is the same as that described in the first embodiment. That is,the reference guide rail decision unit 22 selects a reference guide railon the basis of a position of a start point of the slide operation. Inaddition, processing by the moving direction determination unit 23 andthe motion vector calculation unit 24 are the same as in the firstembodiment.

According to the present embodiment, since the guide rail is notdisplayed, the image processing apparatus performs a simple display.When there are many objects in a three-dimensional space to bedisplayed, a display without the guide rail may provide a user withimproved visibility.

Third Embodiment

Next, a third embodiment will be described. A description for the itemsdescribed in the previous embodiments may be omitted herein. Here,specific items of the present embodiment will be described.

A block diagram which shows a functional configuration of the presentembodiment is as shown in FIG. 1.

A characteristic of the present embodiment is that a guide rail is notpreset before a slide operation is performed, and the guide rail is setfor the first time when the slide operation is performed.

In the first embodiment, the guide rail information generation unit 31generates guide rail information on the basis of guide rail settinginformation stored by the three-dimensional space information storageunit 13. In addition, as a result, the image processing apparatus 1displays a predetermined number of guide rails (the number set dependingon a setting). In addition, the reference guide rail decision unit 22decides a guide rail closest to (less than or equal to the referencedistance d) a start point of the detected slide operation as a referenceguide rail.

In contrast, in the present embodiment, the guide rail informationgeneration unit 31 does not generate guide rail information in advance.Therefore, the image processing apparatus 1 does not display a guiderail at least until a slide operation for moving a cross-sectional planeis performed.

In the present embodiment, when the operation acquisition unit 21detects information on a slide operation, a position of a guide rail iscalculated on the basis of a position of a start point of the slideoperation (coordinates in a two-dimensional area). Specifically, theguide rail information generation unit 31 calculates the guide rail in athree-dimensional space corresponding to the start point on the basis ofthe position of the start point of the detected slide operation. Then,the reference guide rail decision unit 22 decides the guide railobtained by the guide rail information generation unit 31 as a referenceguide rail.

Here, a method of deciding a guide rail on the basis of a start point ofa slide operation will be described in each of cases of (1) parallelprojection and (2) perspective projection. A position of across-sectional plane at this time can be read from thethree-dimensional space information storage unit 13.

(1) In the case of parallel projection: There are a large number (aninfinite number) of straight lines L3 perpendicular to a cross-sectionalplane in a three-dimensional space. The guide rail informationgeneration unit 31 obtains a straight line L2 on a two-dimensional areaobtained as a result of projecting any one of these straight lines L3onto a projection plane. Then, the reference guide rail decision unit 22decides a straight line (there is one), which is a straight line on thetwo-dimensional area parallel to the obtained L2 and passes through astart point of a slide operation, as a reference guide rail. In the caseof parallel projection, since two straight lines parallel in thethree-dimensional space are still parallel when the lines are projectedonto the two-dimensional area, it is possible to obtain a referenceguide rail in this method.

(2) In the case of perspective projection: The guide rail informationgeneration unit 31 appropriately selects two different straight linesL31 and L32 perpendicular to a cross-sectional plane in athree-dimensional space. The straight lines L31 and L32 are preferablyselected such that they are separated from each other by a predetermineddistance or more. Then, the guide rail information generation unit 31obtains straight lines L21 and L22 on a two-dimensional area, which areobtained as a result of projecting the straight lines L31 and L32 onto aprojection plane. Then, the guide rail information generation unit 31obtains an intersection point C between the straight lines L21 and L22on the two-dimensional area. This intersection point C is a vanishingpoint of perspective projection on the two-dimensional area. Then, thereference guide rail decision unit 22 decides a straight line whichpasses through the point C and a start point of a slide operation as areference guide rail.

In other words, in the present embodiment, the reference guide raildecision unit 22 obtains a guide rail which passes through a point in athree-dimensional space corresponding to a position of a start point ofa slide operation on a projection plane and which is orthogonal to thecross-sectional plane in the three-dimensional space at a time when theslide operation starts. Then, the reference guide rail decision unit 22decides the guide rail as a reference guide rail.

After the reference guide rail is decided, a process until thecross-sectional plane is moved is the same as in the first embodiment.

In the present embodiment, a timing for starting a display of areference guide rail is set to be when a user starts a slide operation.Alternatively, the user may first start the display of the referenceguide rail at a timing when the user long presses a start point of theslide operation, and the user may continuously perform the slideoperation after the display of the reference guide rail. In addition,the cross-sectional plane may also be moved while the reference guiderail is not displayed.

According to the present embodiment, a position of the guide rail is notdetermined in advance and the position of the guide rail is determinedon the basis of the position of the start point of the slide operation.As a result, there is no situation in which the reference guide rail isnot decided because a start position of a slide operation is too farfrom the guide rail determined in advance. That is, the reference guiderail is always decided by a slide operation from a place desired by auser.

According to at least one of the embodiments described above, it ispossible to provide a user interface which moves a cross-sectional planein a manner closely matching a user's intuition by including the motionvector calculation unit which decides a direction of a two-dimensionalmotion vector in a two-dimensional area on the basis of a slideoperation and decides a three-dimensional motion vector in a formcorresponding to the two-dimensional motion vector.

At least a part of the functions of the image processing apparatusaccording to one of the embodiments described above may be realized by acomputer. In this case, the function may be realized by recording aprogram for realizing the function on a computer readable recordingmedium and causing a computer system to read and execute the programrecorded on the recording medium. “Computer system” herein includeshardware such as an OS and peripheral devices. In addition, “computerreadable recording medium” refers to a portable medium such as aflexible disk, a magneto-optical disk, a ROM, and a CD-ROM, and astorage device such as a hard disk embedded in the computer system.Further, “computer readable recording medium” may include a medium whichdynamically holds a program for a short period of time like acommunication line when the program is transmitted through a networksuch as the Internet or a communication line such as a telephone line,and a medium which holds the program for a certain period of time like avolatile memory in the computer system, which is a server or a client inthis case. Moreover, the program may be for realizing a part of thefunctions described above, and may also be for realizing the functionsdescribed above in combination with a program recorded in the computersystem.

While certain embodiments have been described, these embodiments havebeen presented by way of example only, and are not intended to limit thescope of the inventions. Indeed, the novel embodiments described hereinmay be embodied in a variety of other forms; furthermore, variousomissions, substitutions, and changes in the form of the embodimentsdescribed herein may be made without departing from the spirit of theinventions. The accompanying claims and their equivalents are intendedto cover such forms or modifications as would fall within the scope andspirit of the inventions.

1: An image processing apparatus comprising: a three-dimensional spaceinformation storage unit configured to store a position of across-sectional plane in a three-dimensional space; a projection unitconfigured to project and draw the cross-sectional plane in thethree-dimensional space onto a projection plane on the basis ofinformation on the position of the cross-sectional plane stored in thethree-dimensional space information storage unit; an operationacquisition unit configured to detect a slide operation to cause a pointon a screen on which the projection plane is drawn to slide, and toacquire information on a position on the screen at which the slideoperation is performed; a reference guide rail decision unit configuredto decide a reference guide rail existing near the position of the slideoperation when a guide rail intersecting the cross-sectional plane inthe three-dimensional space at a predetermined angle is projected ontothe projection plane on the basis of the information on the position ofthe slide operation acquired by the operation acquisition unit; and amotion vector calculation unit configured to calculate a two-dimensionalmotion vector, which represents a movement on the screen and is parallelto the reference guide rail, on the basis of a direction of the slideoperation and an amount of movement when the slide operation isperformed, to calculate a three-dimensional motion vector representing adirection of movement and an amount of movement in the three-dimensionalspace corresponding to a two-dimensional motion vector existing on theprojection plane, and to change the position of the cross-sectionalplane in the three-dimensional space stored by the three-dimensionalspace information storage unit in accordance with the calculatedthree-dimensional motion vector. 2: The image processing apparatusaccording to claim 1, further comprising: a guide rail informationgeneration unit configured to generate guide rail information, which isinformation on one or more guide rails, and to write the information inthe three-dimensional space information storage unit on the basis ofpreset setting information and the information on the position of thecross-sectional plane, wherein the reference guide rail decision unitrefers to the three-dimensional space information storage unit andselects and decides the reference guide rail among guide rails generatedby the guide rail information generation unit. 3: The image processingapparatus according to claim 1, wherein the reference guide raildecision unit obtains a guide rail passing through a point in thethree-dimensional space corresponding to a position of a start point ofthe slide operation on the projection plane and intersecting thecross-sectional plane in the three-dimensional space at thepredetermined angle at a time when the slide operation starts, anddecides the guide rail as the reference guide rail. 4: The imageprocessing apparatus according to claim 1, wherein the projection unitprojects and draws a guide rail existing in the three-dimensional spaceonto the projection plane. 5: The image processing apparatus accordingto claim 1, wherein the motion vector calculation unit calculates thetwo-dimensional motion vector on the basis of a (0°≦α≦90°), which is aminimum angle at which the projection plane in the three-dimensionalspace and the reference guide rail intersect, so that a ratio of thetwo-dimensional motion vector to an amount of movement of the slideoperation monotonically decreases with respect to α. 6: The imageprocessing apparatus according to claim 1, wherein the motion vectorcalculation unit does not perform a process of moving thecross-sectional plane when an angle formed by a direction of the slideoperation and the reference guide rail is larger than a predeterminedthreshold value. 7: An image processing method comprising: storing, in athree-dimensional space information storage unit, a position of across-sectional plane in a three-dimensional space; projecting anddrawing the cross-sectional plane in the three-dimensional space onto aprojection plane on the basis of information on the position of thecross-sectional plane stored in the three-dimensional space informationstorage unit; detecting a slide operation to cause a point to slide on ascreen on which the projection plane is drawn, and acquiring informationon a position on the screen at which the slide operation is performed;deciding a reference guide rail existing near a position of the slideoperation when a guide rail intersecting the cross-sectional plane inthe three-dimensional space at a predetermined angle is projected ontothe projection plane on the basis of the information on the position ofthe slide operation acquired; calculating a two-dimensional motionvector, which represents a movement on the screen and is parallel to thereference guide rail, on the basis of a direction of the slide operationand an amount of movement when the slide operation is performed;calculating a three-dimensional motion vector representing a directionof movement and an amount of movement in the three-dimensional spacecorresponding to a two-dimensional motion vector existing on theprojection plane; and changing the position of the cross-sectional planein the three-dimensional space stored by the three-dimensional spaceinformation storage unit in accordance with the calculatedthree-dimensional motion vector. 8: A non-transitory computer readablestorage medium that stores a computer program, which causes, whenexecuted by a computer, the computer to perform an image processingmethod comprising: storing, in a three-dimensional space informationstorage unit, a position of a cross-sectional plane in athree-dimensional space; projecting and drawing the cross-sectionalplane in the three-dimensional space onto a projection plane on thebasis of information on the position of the cross-sectional plane storedin the three-dimensional space information storage unit; detecting aslide operation to cause a point to slide on a screen on which theprojection plane is drawn, and acquiring information on a position onthe screen at which the slide operation is performed; deciding areference guide rail existing near a position of the slide operationwhen a guide rail intersecting the cross-sectional plane in thethree-dimensional space at a predetermined angle is projected onto theprojection plane on the basis of the information on the position of theslide operation acquired; calculating a two-dimensional motion vector,which represents a movement on the screen and is parallel to thereference guide rail, on the basis of a direction of the slide operationand an amount of movement when the slide operation is performed;calculating a three-dimensional motion vector representing a directionof movement and an amount of movement in the three-dimensional spacecorresponding to a two-dimensional motion vector existing on theprojection plane; and changing the position of the cross-sectional planein the three-dimensional space stored by the three-dimensional spaceinformation storage unit in accordance with the calculatedthree-dimensional motion vector.